package com.ruoyi.system.mapper;

import java.util.List;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.domain.FkwzInstitution;
import com.ruoyi.system.vo.req.FkwzInstitutionReqVO;
import com.ruoyi.system.vo.resp.FkwzInstitutionRespVO;
import org.apache.ibatis.annotations.Param;

/**
 * 重点单位Mapper接口
 * 
 * @author ruoyi
 * @date 2024-05-30
 */
public interface FkwzInstitutionMapper  extends BaseMapper<FkwzInstitution>
{
    /**
     * 查询重点单位
     * 
     * @param institutionId 重点单位主键
     * @return 重点单位
     */
    public FkwzInstitutionRespVO selectFkwzInstitutionByInstitutionId(Long institutionId);

    /**
     * 查询重点单位列表
     * 
     * @param fkwzInstitution 重点单位
     * @return 重点单位集合
     */
    public List<FkwzInstitutionRespVO> selectFkwzInstitutionList(@Param("vo") FkwzInstitutionReqVO fkwzInstitution,@Param("user") SysUser user);

    /**
     * 不分页版单位列表
     * @param fkwzInstitution
     * @param user
     * @return
     */
     List<FkwzInstitutionRespVO> selectInstitutionList(@Param("vo") FkwzInstitutionReqVO fkwzInstitution,@Param("user") SysUser user);


    /**
     * 新增重点单位
     * 
     * @param fkwzInstitution 重点单位
     * @return 结果
     */
    public int insertFkwzInstitution(FkwzInstitutionReqVO  fkwzInstitution);

    /**
     * 修改重点单位
     * 
     * @param fkwzInstitution 重点单位
     * @return 结果
     */
    public int updateFkwzInstitution(FkwzInstitutionReqVO fkwzInstitution);

    /**
     * 删除重点单位
     * 
     * @param institutionId 重点单位主键
     * @return 结果
     */
    public int deleteFkwzInstitutionByInstitutionId(Long institutionId);

    /**
     * 批量删除重点单位
     * 
     * @param institutionIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteFkwzInstitutionByInstitutionIds(Long[] institutionIds);
}
